JclIDEUtils: fix AnyInstanceRunning not detecting 64-bit IDE#173
JclIDEUtils: fix AnyInstanceRunning not detecting 64-bit IDE#173Delphier wants to merge 1 commit intoproject-jedi:masterfrom
Conversation
| FKnownPackages32.Objects[I] := Pointer(True); | ||
|
|
||
| if Installation.IDEVersionNumber >= 23 then | ||
| if FileExists(Installation.IdeExeFileName[True]) then |
There was a problem hiding this comment.
The x64 IDE could be unselected during installation but registry entries be there, so I believe this test should not be changed
There was a problem hiding this comment.
The 64-bit IDE was introduced in version 12.3, but the test IDEVersionNumber >= 23 covers the entire version 12 series, so this test is inaccurate.
Checking whether the file bin64\bds.exe exists works correctly regardless of whether the 64-bit IDE is installed or whether the registry key value exists.
| property IdeTools: TJclBorRADToolIdeTool read FIdeTools; | ||
| property IdeExeBuildNumber: string read GetIdeExeBuildNumber; | ||
| property IdeExeFileName: string read GetIdeExeFileName; | ||
| property IdeExeBuildNumber[x64: Boolean]: string read GetIdeExeBuildNumber; |
There was a problem hiding this comment.
I understand that the Exe file will be different depending on the platform, but I don't expect the version info inside it to be different.
There was a problem hiding this comment.
A large number of properties and methods related to the 64-bit IDE in JclIDEUtils use the parameter form x64: Boolean, which can maintain consistency. The getter of this property also simply retrieves the file version information of IdeExeFileName[x64: Boolean].
Additionally, some of Embarcadero's newer features now only support the 64-bit IDE, and it is entirely possible that the 32-bit IDE will be deprecated or made an optional installation in the future.
No description provided.